Skip to content

Add issue templates, community docs, and OSS-ready documentation#123

Merged
behinddwalls merged 5 commits into
mainfrom
preetam/issue-template
Mar 6, 2026
Merged

Add issue templates, community docs, and OSS-ready documentation#123
behinddwalls merged 5 commits into
mainfrom
preetam/issue-template

Conversation

@behinddwalls
Copy link
Copy Markdown
Collaborator

@behinddwalls behinddwalls commented Mar 6, 2026

Summary

  • Add GitHub issue templates (bug report, feature request) with structured fields
  • Add CODE_OF_CONDUCT.md (Contributor Covenant) and CONTRIBUTING.md (workflow, PR guidelines)
  • Rewrite README.md with badges, expanded description, quick start, and documentation table
  • Expand doc/howto/DEVELOPMENT.md with "Try It Locally" section, IDE setup, make targets reference, and troubleshooting
  • Remove SECURITY.md, CLA section, and redundant setup verification steps

Test plan

  • Verify all internal doc links resolve correctly on the PR preview
  • Confirm badge URLs render on GitHub
  • Read through each file as a first-time visitor for clarity

…ine README

Add community contribution infrastructure: bug report and feature request
issue templates, CONTRIBUTING.md, and CODE_OF_CONDUCT.md (Contributor
Covenant v1.4). Streamline README from 463 lines to a concise entry point
that links to CLAUDE.md, CONTRIBUTING.md, and TESTING.md, fixing broken
links and inaccuracies.
Remove redundant Proto Changes and Adding Extensions sections from
CONTRIBUTING.md (covered by CLAUDE.md). Move shell config to
doc/howto/SHELL.md. Reorder sections so developer setup comes before
Code of Conduct/License. Remove Code of Conduct and License from
README since they live in CONTRIBUTING.md.
Add high-level SubmitQueue overview to README synthesized from the
EuroSys '19 paper. Move development setup and troubleshooting from
CONTRIBUTING.md to doc/howto/DEVELOPMENT.md. Slim down CONTRIBUTING.md
to focus on contribution guidelines only.
Simplify README overview to a single paragraph, use 'speculative merge
queue' instead of 'change management system', remove paper reference
and specific build step assumptions. Rename Architecture to Developer
Guide. Move shell config from CONTRIBUTING.md to DEVELOPMENT.md, add
links to TESTING.md and SHELL.md from DEVELOPMENT.md, fix issues link
in CONTRIBUTING.md.
@behinddwalls behinddwalls requested review from a team and sbalabanov as code owners March 6, 2026 04:44
Comment thread doc/howto/DEVELOPMENT.md Outdated
@behinddwalls behinddwalls force-pushed the preetam/issue-template branch from 1126021 to b10e5f1 Compare March 6, 2026 18:15
@behinddwalls behinddwalls added this pull request to the merge queue Mar 6, 2026
Merged via the queue into main with commit da4a807 Mar 6, 2026
8 checks passed
albertywu added a commit that referenced this pull request May 29, 2026
Adds a read-only Status RPC to the gateway that returns the current
customer-friendly status of a previously submitted request, reconciled
from the append-only request log via
core/request.GetCurrentStateFromRequestLog. Status is a free-form string
(statuses can be added without breaking clients); unknown sqids map to a
typed RequestNotFoundError (user error) and empty sqids to ErrInvalidRequest.

Named "Status" to match the gateway's short RPC naming (Ping, Land, Status).

Changes:
- gateway/proto/gateway.proto: Status RPC, StatusRequest/StatusResponse, and
  RequestNotFoundError messages (regenerated protopb)
- gateway/controller/status.go: StatusController + tests
- example/server/gateway/main.go: wire controller (reuses existing RequestLogStore)

Validation:
- Unit tests: bazel test //gateway/controller:controller_test  (PASS)
- Integration (local stack): make local-gateway-start
  PORT=$(docker port submitqueue-gateway-service-1 8080 | head -1 | cut -d: -f2)

  # method is registered
  grpcurl -plaintext localhost:$PORT list uber.submitqueue.gateway.SubmitQueueGateway
    -> Land, Ping, Status

  # seed a request
  grpcurl -plaintext -d '{"queue":"test-queue","change":{"uris":["github:///pull/123/c3a4d5e6f7890123456789abcdef0123456789ab"]}}' \
    localhost:$PORT uber.submitqueue.gateway.SubmitQueueGateway/Land
    -> { "sqid": "test-queue/1" }

  # happy path
  grpcurl -plaintext -d '{"sqid":"test-queue/1"}' \
    localhost:$PORT uber.submitqueue.gateway.SubmitQueueGateway/Status
    -> { "status": "accepted" }

  # unknown sqid
  grpcurl -plaintext -d '{"sqid":"test-queue/999"}' \
    localhost:$PORT uber.submitqueue.gateway.SubmitQueueGateway/Status
    -> ERROR: request not found for sqid "test-queue/999"

  # empty sqid
  grpcurl -plaintext -d '{"sqid":""}' \
    localhost:$PORT uber.submitqueue.gateway.SubmitQueueGateway/Status
    -> ERROR: StatusController requires the request to have a sqid specified: invalid request

Co-authored-by: Cursor <cursoragent@cursor.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants